<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            border: 1px solid black;
        }

        .item {
            width: 100px;
            height: 100px;
            border: 1px solid black;
            margin: 5px;

            /* 浮动 */
            float: left;
            /* float: right; */
        }

        .genpichong {
            width: 100px;
            height: 100px;
            border: 1px solid black;
            margin: 5px;
        }

        /* 清除浮动1：估计增加一个不可见的用于清除浮动的子元素 */
        .clearfix1 {
            /* 同时清除左右浮动带来的影响 */
            clear: both;

            /* 不可见 之宽高为0 */
            /* width: 0;
            height: 0; */

            /* 不可见 之可见性设置为隐藏 */
            visibility: hidden;
        }

        /* 清除浮动2：父盒子设置 overflow: hidden */
        /* 原理：将【当前父盒子整体】变成一个【独立存在不影响其它元素的盒子】——BFC盒子 */
        .box {
            /* 溢出隐藏到底是为了将当前盒子变成BFC呢 还是真的单纯就为了溢出隐藏呢？？？ */
            /* overflow: hidden; */
            /* height: 50px; */
        }

        /* 认识一下伪元素 */
        .genpichong::before {
            content: "我是打头的伪元素";
            color: red;
        }
        
        .genpichong::after {
            content: "我是断后的伪元素";
            color: red;
        }
        
        /* 清除浮动3：使用伪元素 */
        /* 在父元素内部的末尾放置一个伪元素 */
        .clearfix::after {
            /* 内容为空气且不可见 */
            content: "";
            visibility: hidden;

            /* 是一个块级元素 */
            display: block;

            /* 清除左右浮动 */
            clear: both;
        }

    </style>
</head>

<body>
    <div class="box clearfix">

        <!-- 页面其它元素当这哥仨不存在 -->
        <div class="item">1</div>
        <div class="item">2</div>
        <div class="item">3</div>

        <!-- 不可见 用于清除浮动带来的影响 -->
        <!-- <div class="clearfix1"></div> -->
    </div>

    <div class="genpichong">
        跟屁虫
    </div>
</body>

</html>